//#include <stdio.h>
//#include <string.h>
//void* my_memcpy(void* s1, const void* s2, size_t n)
//{
//	void* ret = s1;
//	while (n--)
//	{
//		*(char*)s1 = *(char*)s2;
//		s1 = (char*)s1+1;
//		s2 = (char*)s2+1;
//	}
//	return ret;
//}
//int main()
//{
//	int a[] = { 1,2,3,4 };
//	int b[] = { 5,6,7,8 };
//	my_memcpy(a, b,20);
//	for (int i = 0; i <4 ; i++)
//	{
//		printf("%d ",*(a+i));
//		
//	}
//	
//	return 0;
//}



//#include <stdio.h>
//#include <string.h>
//void* my_memmove(void* s1, void* s2, size_t n)
//{
//	void* ret = s1;
//	if (s1 < s2)
//	{
//		while (n--)
//		{
//			*(char*)s1 = *(char*)s2;
//			s1 = (char*)s1 + 1;
//			s2 = (char*)s2 + 1;
//		}
//	}
//	else
//	{
//		while (n--)
//		{
//			*((char*)s1 + n) = *((char*)s2 + n);
//		}
//	}
//	return ret;
//}
//int main()
//{
//	char a[20] = "abcdefgh";
//	char b[20] = { 0 };
//	my_memmove(a, a+2, 5);
//	for (int i = 0; i < 20; i++)
//	{
//		printf("%c", a[i]);
//	}
//	
//	return 0;
//}


#include <stdio.h>
#include <string.h>
int my_memcmp(void* s1, void* s2, size_t n)
{
	while (n--)
	{
		if (*(char*)s1 > *(char*)s2)
		{
			return 1;
		}
		
		else if(*(char*)s1 < *(char*)s2)
		{
			return -1;
		}
		s1 = (char*)s1 + 1;
		s2 = (char*)s2 + 1;
	}
	return 0;
}
int main()
{
	char a[] = "abcdefg";
	char b[] = "abcdef";
	int ret= my_memcmp(a, b, 20);
	printf("%d\n", ret);
	return 0;
}